FB/IB - cestina - CHARACTER SET WIN1250

Otázka od: Ing. Jiri SOKOL

11. 11. 2002 8:24

Ahoj,

potrebuju vyresit jeden problem, se kterym si nevim rady.
Vytvoril jsem pomoci IBConsole novou databazi ve FB. Zapomnel jsem zadat char
set a pri "ORDER BY
prijmeni" mi to neseradilo ceske znaky.
OK, databazi jsem vytvoril znovu, a priradil jsem ji default char set WIN1250.
Zmena se projevila u
vsech tabulek, kde u kazdeho sloupce (ktery ma neco spolecneho se znakama) se
automaticky doplnilo
CHARACTER SET WIN1250.

Co nechapu je to, ze ani po teto zmene se na vysledku setrideni nic
neprojevilo. PROC???

Jedinou zmenou je to, ze pomoci IBConsole uz do takoveto databaze nezapisu ani
jeden cesky znak.
Vzdy to ohlasi chybove hlaseni - neco jako ze nemuze prevest znaky mezi ruznymi
character sety.

Vytvoril jsem novy projekt v delphi, kde jsem pouzil komponentu IBDatabase, kde
jsem nastavil opet
WIN1250, ceske zanky jsem zapsal, ale vysledek opet stejny. Neseradi tabulku
vcetne ceskych znaku.

Kde je problem???

Dost to specha a tak dekuji za rychle odpovedi.

Mej te se fajn. Jirka

Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
D6ProfSP2,WinNT
amatersky programator

______________________________________________________________________
Reklama:
Kliknete, hlasujte a vyhrajte v ankete Nejoblibenejši automobil roku 2003 v
Ceske republice ceny za milion!! http://www.autoroku.cz

Odpovedá: Lebeda David

11. 11. 2002 9:09

> Co nechapu je to, ze ani po teto zmene se na vysledku setrideni nic
> neprojevilo. PROC???

Trideni urcuje collate. Musis u prislusnych sloupcu nebo u domen doplnit
collate
PXW_CSY.

> Jedinou zmenou je to, ze pomoci IBConsole uz do takoveto databaze
> nezapisu ani jeden cesky znak. Vzdy to ohlasi chybove hlaseni - neco
> jako ze nemuze prevest znaky mezi ruznymi character sety.

Asi nemas nastaveny charset na connection. Musis mit nejaky na databazi a
nejaky
na connection. Zkus Connect as... a tam ho rovnez nastavit.

David Lebeda

Odpovedá: Kalhous Zdenek

11. 11. 2002 8:32

On 11 Nov 2002 at 7:56, Ing. Jiri SOKOL wrote:

To je zde jiz evergreen. Pro spravne trideni je treba definovat
sloupce s COLLATE PXW_CSY (treba), klient musi mit nastaven
charset databaze - z IBConsole Connect as ..., iSQL set names.

> zadat char set a pri "ORDER BY prijmeni" mi to neseradilo ceske znaky.
> OK, databazi jsem vytvoril znovu, a priradil jsem ji default char set
> WIN1250. Zmena se projevila u vsech tabulek, kde u kazdeho sloupce
> Co nechapu je to, ze ani po teto zmene se na vysledku setrideni nic
> neprojevilo. PROC???

Odpovedá: Ing. Jiri SOKOL

11. 11. 2002 8:52

OK,

dekuju za rychlou odpoved, ale neslo by to trochu vic rozvest. S FB/IB zacinam
a tak se chytam jen
okrajove. Mam teda nastavovat tu databazi pri create na WIN1250 nebo ne? Jak
nastavim COLLATE
PXW_CSY? Na co musi mit nastaveno clienti charset databaze?
co je to iSQL set names?

Diky a omlouvam se, ze jsem jeste mimo. Priste uz bude lepsi.
Moc diky
Jirka

> On 11 Nov 2002 at 7:56, Ing. Jiri SOKOL wrote:
>
> To je zde jiz evergreen. Pro spravne trideni je treba definovat
> sloupce s COLLATE PXW_CSY (treba), klient musi mit nastaven
> charset databaze - z IBConsole Connect as ..., iSQL set names.
>
> > zadat char set a pri "ORDER BY prijmeni" mi to neseradilo ceske znaky.
> > OK, databazi jsem vytvoril znovu, a priradil jsem ji default char set
> > WIN1250. Zmena se projevila u vsech tabulek, kde u kazdeho sloupce
> > Co nechapu je to, ze ani po teto zmene se na vysledku setrideni nic
> > neprojevilo. PROC???
>
>

Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
D6ProfSP2,WinNT
amatersky
programator

______________________________________________________________________
Reklama:
Nenechte si ujit novy film Woodyho Allena "Hollywood Ending" - blaznivou
komedii o tom, jak se ve tme strefit do cerneho. V kinech od 3.9.2002.
Sledujte http://www.hce.cz

Odpovedá: Kalhous Zdenek

11. 11. 2002 9:55

> Mam teda nastavovat tu databazi
> pri create na WIN1250 nebo ne?
Ano
> Jak nastavim COLLATE PXW_CSY?
V definici domeny nebo sloupce.
> Na co
> musi mit nastaveno clienti charset databaze?
Na totez, co bylo v definici databaze. Tedy v tomto pripade na
WIN1250.
> co je to iSQL set names?
SQL prikaz:
Specifies an active character set to use for subsequent database
attachments. Available in SQL and isql.
SET NAMES [charset|:var]
 
> Diky a omlouvam se, ze jsem jeste mimo. Priste uz bude lepsi.
> Moc diky
> Jirka
>
> > On 11 Nov 2002 at 7:56, Ing. Jiri SOKOL wrote:
> >
> > To je zde jiz evergreen. Pro spravne trideni je treba definovat
> > sloupce s COLLATE PXW_CSY (treba), klient musi mit nastaven charset
> > databaze - z IBConsole Connect as ..., iSQL set names.
> >
> > > zadat char set a pri "ORDER BY prijmeni" mi to neseradilo ceske
> > > znaky. OK, databazi jsem vytvoril znovu, a priradil jsem ji
> > > default char set WIN1250. Zmena se projevila u vsech tabulek, kde
> > > u kazdeho sloupce Co nechapu je to, ze ani po teto zmene se na
> > > vysledku setrideni nic neprojevilo. PROC???
> >
> >
>
> Ing. Jiri Sokol, js-delphi@seznam.cz, +420251431187
> D6ProfSP2,WinNT
> amatersky
> programator
>
> ______________________________________________________________________
> Reklama: Nenechte si ujit novy film Woodyho Allena "Hollywood Ending"
> - blaznivou komedii o tom, jak se ve tme strefit do cerneho. V kinech
> od 3.9.2002. Sledujte http://www.hce.cz

Odpovedá: Pavel Cisar

11. 11. 2002 12:43

Haj hou!

On 11 Nov 2002 at 8:19, Ing. Jiri SOKOL wrote:

> dekuju za rychlou odpoved, ale neslo by to trochu vic rozvest. S FB/IB
zacinam a tak se chytam jen
> okrajove. Mam teda nastavovat tu databazi pri create na WIN1250 nebo ne? Jak
nastavim COLLATE
> PXW_CSY? Na co musi mit nastaveno clienti charset databaze?
> co je to iSQL set names?

1) Znakova sada sama o sobe na urceni poradi pro trideni nestaci, protoze
jednu sadu sdili vice jazyku.

2) Znakova sada je definovana pro data v databazi a pro klienta (kvuli
zobrazovani). Pokud se tyto dve lisi, provadi Firebird automatickou
konverzi pokud se tyto dve lisi (pokud je definovana). Vzlastni pozici ma
znakova sada NONE (nedefinovano). Jakmile se do hry dostane NONE na
jakekoliv strane, nelze provest konverzi a FB hlasi chybu.

3) Na obou stranach tedy potrebujete WIN1250 (pokud se budete pohybovat
na Windows). Pokud budete mit nejakeho klienta na Linuxu, musi si
nastavit znakovou sadu (ten klient) ISO8859-2.

4) COLLATE se nastavi nejlepe pri definici struktury tabulky. Napr.:

CREATE TABLE mytable (NAME VARCHAR(25) CHARACTER SET WIN1250 COLLATE
PXW_CSY);


S pozdravem
Pavel Cisar
Mobil: 724 281429
http://www.ibphoenix.cz
Vse co potrebujete pro Firebird a InterBase

Odpovedá: Jan Sebelík

11. 11. 2002 16:13

> Odesílatel: Ing. Jiri SOKOL <JS-delphi@seznam.cz>
> Neseradi tabulku vcetne ceskych znaku.
> Dost to specha a tak dekuji za rychle odpovedi.

> Odesílatel: Kalhous Zdenek <zdenek.kalhous@comarr.cz>
> To je zde jiz evergreen. Pro spravne trideni je treba definovat

Tohle COLLATE a milion dalsich veci, ktere ti usetri spoustu casu je 16.12.2002

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================